package cn.cailin.day07.demo01File;

import java.io.File;
import java.io.IOException;

/*
    File类创建删除功能方法
        -public boolean createNewFile():当且仅当具有该名称的文件尚不存在时，创建一个空文件
        -public boolean delete():删除由此File表示的文件或目录。
        -public boolean mkdir():创建由此File表示的目录。
        -public boolean mkdirs():创建由此File表示的目录，包括任何必需但不存在的父目录
 */
public class Demo05File {
    public static void main(String[] args) throws IOException {
        show03();

    }
    /*
        -public boolean delete():删除由此File表示的文件或目录。
        此方法，可以删除构造方法路径中给出的文件/文件夹
        返回值：布尔值
            ture：文件/文件夹删除成功返回ture
            false：文件夹中有内容不会删除返回false；构造方法中路径不存在false
        注意：
            delete方法是直接在硬盘删除文件/文件夹。不走回收站删除要谨慎
     */
    private static void show03() {
        File f1 = new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\aaa");
        System.out.println(f1.delete());//false 文件夹里有文件

        File f2 = new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\1.txt");
        System.out.println(f2.delete());//ture

    }

    /*
        -public boolean mkdir():创建单极空文件夹
        -public boolean mkdirs():既可以创建单级文件夹，也可以创建多级文件夹
            返回值：布尔值 ture：文件夹不存在，创建文件，返回ture false：文件夹存在，不会创建 返回false
        注意：
            1.此方法只能创建文件夹，不能创建文件
            2.创建文件的路径必须存在，否则会抛出异常
        createNewFile声明抛出了IO异常
     */
    private static void show02() {
        File f1=new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\aaa");
        System.out.println(f1.mkdir());//ture 创建成功

        File f2=new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\aaa\\111\\222");
        System.out.println(f2.mkdir());//false 不能创建多级文件夹

        File f3=new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\aaa\\111\\222");
        System.out.println(f2.mkdirs());//ture 创建多级文件夹

        File f4=new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\a.txt");
        System.out.println(f4.mkdir());//看类型是个文件
    }

    /*
        -public boolean createNewFile():当且仅当具有该名称的文件尚不存在时，创建一个空文件
        创建文件的路径和名称在构造方法中给出（构造方法的参数）
            返回值：布尔值 ture：文件不存在，创建文件，返回ture false：文件存在，不会创建 返回false
        注意：
            1.此方法只能创建文件，不能创建文件夹
            2.创建文件的路径必须存在，否则会抛出异常
        createNewFile声明抛出了IO异常
     */
    private static void show01() throws IOException {
        File f1=new File("D:\\IDEA\\day05-code\\src\\cn\\cailin\\day07\\1.txt");
        boolean b1 = f1.createNewFile();
        System.out.println("b1："+b1);//b1：false

        /*File f2=new File("day05-code\\2.txt");
        boolean b2 = f2.createNewFile();
        System.out.println("b2："+b2);//b1：false*/


    }
}
